package work.comeback.omo.model.user;

public class UserSql {

    /**
     * 插入新用户的SQL语句。
     * 需要提供用户名、密码、角色、头像URL及创建、更新时间。
     */
    public static final String INSERT_USER = "INSERT INTO users (username, password, role, avatar_url, created_at, updated_at) VALUES (?, ?, ?, ?, ?, ?)";

    /**
     * 通过用户名查找用户信息的SQL语句。
     * 根据指定的用户名返回用户的所有列。
     */
    public static final String FIND_USER_BY_USERNAME = "SELECT * FROM users WHERE username = ?";

    /**
     * 通过用户ID查找用户信息的SQL语句。
     * 根据指定的用户ID返回用户的所有列。
     */
    public static final String FIND_USER_BY_ID = "SELECT * FROM users WHERE id = ?";

    /**
     * 通过用户角色查找用户集合的SQL语句。
     * 查找具有指定角色的所有用户。
     */
    public static final String FIND_USERS_BY_ROLE = "SELECT * FROM users WHERE role = ?";

    /**
     * 更新用户信息的SQL语句。
     * 可以修改用户的用户名、密码、角色、头像URL及更新时间。
     * 条件是基于用户ID进行定位。
     */
    public static final String UPDATE_USER = "UPDATE users SET username = ?, password = ?, role = ?, avatar_url = ?, updated_at = ? WHERE id = ?";

    /**
     * 删除指定ID用户的SQL语句。
     * 根据用户ID移除用户记录。
     */
    public static final String DELETE_USER = "DELETE FROM users WHERE id = ?";
}